package org.fioma.tree.suffixTree.memory.bytes;

import org.fioma.tree.bytes.LabelRefBytesIndexFactory;
import org.fioma.tree.suffixTree.memory.Memory;
import org.fioma.tree.suffixTree.memory.SimpleSuffixTreeHandlerMemory;

public class SuffixTreeHandlerMemoryBytes extends
		SimpleSuffixTreeHandlerMemory<InternalSuffixNodeMemoryBytes, LeafSuffixNodeMemoryBytes, SuffixNodeMemoryBytes> {

	public SuffixTreeHandlerMemoryBytes(Memory memory, LabelRefBytesIndexFactory labelFactory) {
		super(memory, labelFactory);
	}

	@Override
	public InternalSuffixNodeMemoryBytes createInternalNode(long pos) {
		return new InternalSuffixNodeMemoryBytes(pos, this);
	}

	@Override
	public LeafSuffixNodeMemoryBytes createLeafNode(long pos) {
		return new LeafSuffixNodeMemoryBytes(pos, this);
	}

	@Override
	public SuffixNodeMemoryBytes[] createChildrenNodes() {
		return new SuffixNodeMemoryBytes[4];
	}

}
